// ToolTipBitmapButton.cpp : implementation file
//

#include "stdafx.h"
#include "ToolTipBitmapButton.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CToolTipBitmapButton

CToolTipBitmapButton::CToolTipBitmapButton()
{
}

CToolTipBitmapButton::~CToolTipBitmapButton()
{
}


BEGIN_MESSAGE_MAP(CToolTipBitmapButton, CBitmapButton)
	//{{AFX_MSG_MAP(CToolTipBitmapButton)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CToolTipBitmapButton message handlers

void CToolTipBitmapButton::SetToolTip(LPCTSTR lpszToolTip)
{
  if (IsWindow(m_tooltip.m_hWnd))
  {
    CToolInfo ti;
    m_tooltip.GetToolInfo(ti, this);
    ti.lpszText = (LPTSTR)lpszToolTip;
    m_tooltip.SetToolInfo(&ti);
  }
  else
  {
    m_tooltip.Create(this);
    m_tooltip.SetWindowPos(&wndTopMost, 0, 0, 0, 0, SWP_NOSIZE | SWP_NOMOVE);
    TOOLINFO ti;
    ZeroMemory(&ti, sizeof(TOOLINFO));
    ti.cbSize = sizeof(TOOLINFO);
    ti.uFlags = TTF_IDISHWND | TTF_SUBCLASS;
    ti.uId = (UINT)GetSafeHwnd();
    ti.lpszText = (LPTSTR)lpszToolTip;
    m_tooltip.SendMessage (TTM_ADDTOOL, 0, (LPARAM) &ti);
  }
}
